from flask import Flask, jsonify, request
import os
import shutil

app = Flask(__name__)

# 设置图片文件所在的目录
IMAGE_DIR = os.path.join(os.path.dirname(__file__), 'images')

@app.route('/replace', methods=['POST'])
def replace_image():
    try:
        # 获取前端传递的参数
        data = request.json
        source = data.get('source')  # 当前图片
        target = data.get('target')  # 样本图片

        # 构建文件路径
        source_path = os.path.join(IMAGE_DIR, source)
        target_path = os.path.join(IMAGE_DIR, target)

        # 检查文件是否存在
        if not os.path.exists(source_path):
            return jsonify({"status": "error", "message": f"文件 {source} 不存在！"}), 404
        if not os.path.exists(target_path):
            return jsonify({"status": "error", "message": f"文件 {target} 不存在！"}), 404

        # 替换文件
        shutil.copy(source_path, target_path)

        return jsonify({"status": "success", "message": "图片替换成功！"})
    except Exception as e:
        return jsonify({"status": "error", "message": str(e)}), 500

if __name__ == '__main__':
    # 确保图片目录存在
    if not os.path.exists(IMAGE_DIR):
        os.makedirs(IMAGE_DIR)
    app.run(debug=True)